// Copyright 2024 The Lynx Authors. All rights reserved.
// Licensed under the Apache License Version 2.0 that can be found in the
// LICENSE file in the root directory of this source tree.
//
// this file may need to be include multiple times

// node_api.h
#define napi_addon_register_func napi_addon_register_func_primjs
#define napi_module napi_module_primjs
#define napi_add_env_cleanup_hook napi_add_env_cleanup_hook_primjs
#define napi_remove_env_cleanup_hook napi_remove_env_cleanup_hook_primjs

// node_api_types.h
#define napi_async_execute_callback napi_async_execute_callback_primjs
#define napi_async_complete_callback napi_async_complete_callback_primjs
#define napi_async_work napi_async_work_primjs
#define napi_threadsafe_function napi_threadsafe_function_primjs

// js_native_api_types.h
#define napi_env napi_env_primjs
#define napi_env__ napi_env_primjs__
#define napi_value napi_value_primjs
#define napi_value__ napi_value_primjs__
#define napi_ref napi_ref_primjs
#define napi_ref__ napi_ref_primjs__
#define napi_handle_scope napi_handle_scope_primjs
#define napi_handle_scope__ napi_handle_scope_primjs__
#define napi_escapable_handle_scope napi_escapable_handle_scope_primjs
#define napi_escapable_handle_scope__ napi_escapable_handle_scope_primjs__
#define napi_callback_info napi_callback_info_primjs
#define napi_callback_info__ napi_callback_info_primjs__
#define napi_deferred napi_deferred_primjs
#define napi_deferred__ napi_deferred_primjs__

#define napi_default napi_default_primjs
#define napi_writable napi_writable_primjs
#define napi_enumerable napi_enumerable_primjs
#define napi_configurable napi_configurable_primjs
#define napi_static napi_static_primjs
#define napi_default_method napi_default_method_primjs
#define napi_default_jsproperty napi_default_jsproperty_primjs
#define napi_property_attributes napi_property_attributes_primjs

#define napi_undefined napi_undefined_primjs
#define napi_null napi_null_primjs
#define napi_boolean napi_boolean_primjs
#define napi_number napi_number_primjs
#define napi_string napi_string_primjs
#define napi_symbol napi_symbol_primjs
#define napi_object napi_object_primjs
#define napi_function napi_function_primjs
#define napi_external napi_external_primjs
#define napi_bigint napi_bigint_primjs
#define napi_valuetype napi_valuetype_primjs

#define napi_int8_array napi_int8_array_primjs
#define napi_uint8_array napi_uint8_array_primjs
#define napi_uint8_clamped_array napi_uint8_clamped_array_primjs
#define napi_int16_array napi_int16_array_primjs
#define napi_uint16_array napi_uint16_array_primjs
#define napi_int32_array napi_int32_array_primjs
#define napi_uint32_array napi_uint32_array_primjs
#define napi_float32_array napi_float32_array_primjs
#define napi_float64_array napi_float64_array_primjs
#define napi_bigint64_array napi_bigint64_array_primjs
#define napi_biguint64_array napi_biguint64_array_primjs
#define napi_typedarray_type napi_typedarray_type_primjs

#define napi_tsfn_nonblocking napi_tsfn_nonblocking_primjs
#define napi_tsfn_blocking napi_tsfn_blocking_primjs
#define napi_threadsafe_function_call_mode \
  napi_threadsafe_function_call_mode_primjs
#define napi_threadsafe_function_call_js napi_threadsafe_function_call_js_primjs

#define napi_ok napi_ok_primjs
#define napi_invalid_arg napi_invalid_arg_primjs
#define napi_object_expected napi_object_expected_primjs
#define napi_string_expected napi_string_expected_primjs
#define napi_name_expected napi_name_expected_primjs
#define napi_function_expected napi_function_expected_primjs
#define napi_number_expected napi_number_expected_primjs
#define napi_boolean_expected napi_boolean_expected_primjs
#define napi_array_expected napi_array_expected_primjs
#define napi_generic_failure napi_generic_failure_primjs
#define napi_pending_exception napi_pending_exception_primjs
#define napi_cancelled napi_cancelled_primjs
#define napi_escape_called_twice napi_escape_called_twice_primjs
#define napi_handle_scope_mismatch napi_handle_scope_mismatch_primjs
#define napi_callback_scope_mismatch napi_callback_scope_mismatch_primjs
#define napi_queue_full napi_queue_full_primjs
#define napi_closing napi_closing_primjs
#define napi_bigint_expected napi_bigint_expected_primjs
#define napi_date_expected napi_date_expected_primjs
#define napi_arraybuffer_expected napi_arraybuffer_expected_primjs
#define napi_detachable_arraybuffer_expected \
  napi_detachable_arraybuffer_expected_primjs
#define napi_conflict_instance_data napi_conflict_instance_data_primjs
#define napi_context_scope_mismatch napi_context_scope_mismatch_primjs
#define napi_status napi_status_primjs

#define napi_callback napi_callback_primjs
#define napi_finalize napi_finalize_primjs

#define napi_property_descriptor napi_property_descriptor_primjs
#define napi_extended_error_info napi_extended_error_info_primjs
#define napi_get_last_error_info napi_get_last_error_info_primjs

#define napi_key_include_prototypes napi_key_include_prototypes_primjs
#define napi_key_own_only napi_key_own_only_primjs
#define napi_key_collection_mode napi_key_collection_mode_primjs
#define napi_key_all_properties napi_key_all_properties_primjs
#define napi_key_writable napi_key_writable_primjs
#define napi_key_enumerable napi_key_enumerable_primjs
#define napi_key_configurable napi_key_configurable_primjs
#define napi_key_skip_strings napi_key_skip_strings_primjs
#define napi_key_skip_symbols napi_key_skip_symbols_primjs
#define napi_key_filter napi_key_filter_primjs
#define napi_key_keep_numbers napi_key_keep_numbers_primjs
#define napi_key_numbers_to_strings napi_key_numbers_to_strings_primjs
#define napi_key_conversion napi_key_conversion_primjs
#define napi_async_context__ napi_async_context_primjs__
#define napi_async_context napi_async_context_primjs
#define napi_callback_scope napi_callback_scope_primjs
#define napi_callback_scope__ napi_callback_scope_primjs__
